package com.erp.order.controller;

import com.ruoyi.order.api.domain.ErpSellerOrderExtend;
import com.erp.order.service.IErpSellerOrderExtendService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.oldController.BaseController;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

/**
 * 订单延伸
 *
 * @author erp
 * @date 2023-07-11
 */
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/order/sellerOrderExtend")
public class ErpSellerOrderExtendController extends BaseController {

    private final IErpSellerOrderExtendService iErpSellerOrderExtendService;

    /**
     * 根据订单号，获取订单延伸表信息
     * @param orderId
     * @return
     */
    @GetMapping("/getByOrderId/{orderId}")
    public R<Object> getByOrderId(@PathVariable String orderId){
        ErpSellerOrderExtend erpSellerOrderExtend = iErpSellerOrderExtendService.queryByOrderId(orderId);
        if(erpSellerOrderExtend != null){
            return R.ok(erpSellerOrderExtend);
        }
        return R.fail("没有查询到订单延伸表");
    }


    /**
     * 查看订单填写的发货信息
     * @param orderId
     * @return
     */
    @GetMapping("/queryOrderSendGoodsInfo")
    public R<Object> queryOrderSendGoodsInfo(Long orderId) {
        return iErpSellerOrderExtendService.queryOrderSendGoodsInfo(orderId);
    }

    /**
     * 保存线下发货时的物流信息等
     * @param
     * @return
     */
    @PostMapping("/saveShipmentInfoForOther")
    public R<Object> saveShipmentInfoForOther(@RequestBody ErpSellerOrderExtend erpSellerOrderExtend) {
        return iErpSellerOrderExtendService.saveShipmentInfoForOther(erpSellerOrderExtend);
    }
    

//    /**
//     * 查询订单延伸列表
//     */
//    @SaCheckPermission("purchase:sellerOrderExtend:list")
//    @GetMapping("/list")
//    public TableDataInfo<ErpSellerOrderExtendVo> list(ErpSellerOrderExtendBo bo, PageQuery pageQuery) {
//        return iErpSellerOrderExtendService.queryPageList(bo, pageQuery);
//    }
//
//    /**
//     * 导出订单延伸列表
//     */
//    @SaCheckPermission("purchase:sellerOrderExtend:export")
//    @Log(title = "订单延伸", businessType = BusinessType.EXPORT)
//    @PostMapping("/export")
//    public void export(ErpSellerOrderExtendBo bo, HttpServletResponse response) {
//        List<ErpSellerOrderExtendVo> list = iErpSellerOrderExtendService.queryList(bo);
//        ExcelUtil.exportExcel(list, "订单延伸", ErpSellerOrderExtendVo.class, response);
//    }
//
//    /**
//     * 获取订单延伸详细信息
//     *
//     * @param id 主键
//     */
//    @SaCheckPermission("purchase:sellerOrderExtend:query")
//    @GetMapping("/{id}")
//    public R<ErpSellerOrderExtendVo> getInfo(@NotNull(message = "主键不能为空")
//                                     @PathVariable Long id) {
//        return R.ok(iErpSellerOrderExtendService.queryById(id));
//    }
//
//    /**
//     * 新增订单延伸
//     */
//    @SaCheckPermission("purchase:sellerOrderExtend:add")
//    @Log(title = "订单延伸", businessType = BusinessType.INSERT)
//    @RepeatSubmit()
//    @PostMapping()
//    public R<Void> add(@Validated(AddGroup.class) @RequestBody ErpSellerOrderExtendBo bo) {
//        return toAjax(iErpSellerOrderExtendService.insertByBo(bo));
//    }
//
//    /**
//     * 修改订单延伸
//     */
//    @SaCheckPermission("purchase:sellerOrderExtend:edit")
//    @Log(title = "订单延伸", businessType = BusinessType.UPDATE)
//    @RepeatSubmit()
//    @PutMapping()
//    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ErpSellerOrderExtendBo bo) {
//        return toAjax(iErpSellerOrderExtendService.updateByBo(bo));
//    }
//
//    /**
//     * 删除订单延伸
//     *
//     * @param ids 主键串
//     */
//    @SaCheckPermission("purchase:sellerOrderExtend:remove")
//    @Log(title = "订单延伸", businessType = BusinessType.DELETE)
//    @DeleteMapping("/{ids}")
//    public R<Void> remove(@NotEmpty(message = "主键不能为空")
//                          @PathVariable Long[] ids) {
//        return toAjax(iErpSellerOrderExtendService.deleteWithValidByIds(Arrays.asList(ids), true));
//    }
}
